package peace.data {

public class Constraints {
    public var top:Number;
    public var left:Number;
    public var right:Number;
    public var bottom:Number;

    /**
     * Если горизонтальные и вертикальные отступы совпадают, передаём первые 2 параметра: leftRight и topBottom.
     * <br>
     * Если передан right - leftRight начинает отвечать только за левый отступ. Аналогично с bottom.
     * @param leftRight Number
     * @param topBottom Number
     * @param right Number
     * @param bottom Number
     */
    public function Constraints(leftRight:Number = 0, topBottom:Number = 0, right:Number = NaN, bottom:Number = NaN) {
        this.left = leftRight;
        this.right = isNaN(right) ? leftRight : right;
        this.top = topBottom;
        this.bottom = isNaN(bottom) ? topBottom : bottom;
    }

    /**
     * Выставляем равный отступ сверху и снизу
     * @param n
     */
    public function set topBottom(n:Number):void {
        top = bottom = n;
    }

    /**
     * Выставляем равный отступ слева и справа
     * @param n
     */
    public function set leftRight(n:Number):void {
        left = right = n;
    }

    public function toString():String {
        return "left:" + left + ", top:" + top + ", right:" + right + ", bottom:" + bottom;
    }
}
}